package com.code.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.util.Date;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.EqualsAndHashCode;

/**
 * <p>
 * 商城用户信息表
 * </p>
 *
 * @author guanfenga@yonyou.com
 * @since 2022-08-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("mall_user")
public class User implements  Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 用户id uuid
     */
    @TableId(value = "userId", type = IdType.ASSIGN_UUID)
    private String userid;

    /**
     * 用户名称 登录名称
     */
    private String username;

    /**
     * 登录密码
     */
    private String password;

    /**
     * 昵称
     */
    private String nickname;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createtime;

    /**
     * 用户类型 1 启用 2 禁用 3 冻结
     */
    private Integer state;

    /**
     * 用户角色 1 采购人 2 供应者 3 管理员
     */
    private Integer type;

    /**
     * 审核状态 1 审核通过 2 审核不通过 3 驳回
     */
    private Integer auditstate;

    /**
     * 审核时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date audittime;

    /**
     * 电话号码
     */
    private String phone;
    /**
     * 獲取token
     */
    @TableField(exist = false)
    private String token;

    /**
     * 权限设置
     */
    private String power;

    /**
     * 主键react 使用
     */
    private String key;

    /**
     * 是否编辑
     */
    @TableField(exist = false)
    private boolean editable = true;

    /**
     * 用户头像
     */
    private String  headPortraitUrl;
    /**
     * 图片名称
     */
    private String imgName;


}
